﻿using CkSoftware.GroupMe.Sdk.Core.Interfaces;
using Newtonsoft.Json;

namespace CkSoftware.GroupMe.Sdk.Core.Dao
{
	/// <summary>
	/// Global GroupMe API wrapper class with the given TEntity type entity.
	/// </summary>
	/// <typeparam name="TEntity">The type of the expected API response entity.</typeparam>
	public class GroupMeApiResponse<TEntity> : IWebApiResult
	{
		/// <summary>
		/// The entity response of the API.
		/// </summary>
		[JsonProperty(PropertyName = "response")]
		public TEntity Response { get; set; }

		/// <summary>
		/// The API response metadata.
		/// </summary>
		[JsonProperty(PropertyName = "meta")]
		public MetaData Meta { get; set; }
	}
}